package Vista;

import Control.Control;
import Modelo.Usuario;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.RowFilter;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;

public class Interfaz extends JFrame {

    private AulaConsultar aulaConsultar;
    private AulaInsertar aulaInsertar;
    private AulaModificar aulaModificar;
    private GrupoConsultar grupoConsultar;
    private GrupoInsertar grupoInsertar;
    private GrupoModificar grupoModificar;
    private HorarioAlternoConsultar horarioAlternoConsultar;
    private HorarioAlternoInsertar horarioAlternoInsertar;
    private HorarioAlternoModificar horarioAlternoModificar;
    private HorarioConsultar horarioConsultar;
    private HorarioInsertar horarioInsertar;
    private HorarioInsertar1 horarioInsertar1;
    private HorarioModificar horarioModificar;
    private Loggin loggin;
    private MateriaConsultar materiaConsultar;
    private MateriaInsertar materiaInsertar;
    private MateriaModificar materiaModificar;
    private NivelConsultar nivelConsultar;
    private Principal principal;
    private PrincipalConsultar principalConsultar;
    private PrincipalInsertar principalInsertar;

    private ProfesorAsignar profesorAsignar;
    private ProfesorConsultar profesorConsultar;
    private ProfesorInsertar profesorInsertar;
    private ProfesorModificar profesorModificar;
    private UsuarioConsultar usuarioConsultar;
    private UsuarioInsertar usuarioInsertar;
    private UsuarioModificar usuarioModificar;
    JMenuBar menuBar = new JMenuBar();
    JMenu archivo = new JMenu("Archivo");
    JMenu editar = new JMenu("Editar");
    JMenu propiedades = new JMenu("Propiedades");
    JMenu ayuda = new JMenu("Ayuda");
    Interfaz interfaz;
    Usuario usuarioActual = null;
    int autorizado = 0;
    private Control control;
    private TableRowSorter<TableModel> sorter;
    private Dimension normal = new Dimension(800, 600);
    private Dimension horario = Toolkit.getDefaultToolkit().getScreenSize();
    public String[] niveles = new String[6];

    public Interfaz(Control pControl) {
        this.control = pControl;
        aulaConsultar = new AulaConsultar(pControl);
        horarioInsertar1 = new HorarioInsertar1(pControl);
        aulaInsertar = new AulaInsertar(pControl);
        aulaModificar = new AulaModificar(pControl);
        grupoConsultar = new GrupoConsultar(pControl);
        grupoInsertar = new GrupoInsertar(pControl);
        grupoModificar = new GrupoModificar(pControl);
        horarioAlternoConsultar = new HorarioAlternoConsultar(pControl);
        horarioAlternoInsertar = new HorarioAlternoInsertar(pControl);
        horarioAlternoModificar = new HorarioAlternoModificar(pControl);
        horarioConsultar = new HorarioConsultar(pControl);
        horarioInsertar = new HorarioInsertar(pControl);
//        horarioInsertar = new HorarioInsertar1(pControl);
        horarioModificar = new HorarioModificar(pControl);
        loggin = new Loggin(pControl);
        materiaConsultar = new MateriaConsultar(pControl);
        materiaInsertar = new MateriaInsertar(pControl);
        materiaModificar = new MateriaModificar(pControl);
        nivelConsultar = new NivelConsultar(pControl);
        principal = new Principal(pControl);
        principalConsultar = new PrincipalConsultar(pControl);
        principalInsertar = new PrincipalInsertar(pControl);

        profesorAsignar = new ProfesorAsignar(pControl);
        profesorConsultar = new ProfesorConsultar(pControl);
        profesorInsertar = new ProfesorInsertar(pControl);
        profesorModificar = new ProfesorModificar(pControl);
        usuarioConsultar = new UsuarioConsultar(pControl);
        usuarioInsertar = new UsuarioInsertar(pControl);
        usuarioModificar = new UsuarioModificar(pControl);
        setTitle("Administrador de Horarios");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(normal);
        setResizable(false);
        setLocationRelativeTo(null);
        initComponentes(getContentPane());
        interfaz = this;

    }

    public void initComponentes(final Container c) {

        c.setLayout(new BorderLayout());
//        menuBar.add(archivo);
//        menuBar.add(editar);
//        menuBar.add(propiedades);
//        menuBar.add(ayuda);
//        menuBar.setBackground(new Color(51, 204, 0));
//        setJMenuBar(menuBar);
        niveles[0] = "7";
        niveles[1] = "8";
        niveles[2] = "9";
        niveles[3] = "10";
        niveles[4] = "11";
        c.add(BorderLayout.CENTER, loggin);
        loggin.logIngresar.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                interfaz.repaint();
                if (control.verificar()) {
                    c.remove(loggin);
                    c.add(BorderLayout.CENTER, principal);
                    principal.jButton2.setVisible(autorizado == 0 || autorizado == 1);
                    reset();
                    interfaz.validate();
                    interfaz.repaint();
                } else {
                    loggin.jLabel6.setVisible(true);
                }
            }
        });
        horarioConsultar.jButton3.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                control.generaReportesGeneral();
            }
        });
        horarioConsultar.jButton4.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                control.generaReporte(control.obtenerSeccion());
                JOptionPane.showMessageDialog(null, "Reporte de horario generado", "Guardado", 1);
            }
        });
        principal.jButton1.setToolTipText("Digite su nombre de usuario");
        principal.jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(principal);
                loggin.jLabel6.setVisible(false);
                c.add(BorderLayout.CENTER, loggin);
                usuarioActual = null;
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principal.jButton2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(principal);
                c.add(BorderLayout.CENTER, principalInsertar);
                principalInsertar.jButton3.setVisible(autorizado == 0);
                principalInsertar.jButton4.setVisible(autorizado == 0);
                principalInsertar.jButton5.setVisible(autorizado == 0);
//                principalInsertar.jButton6.setVisible(autorizado==0);
//                principalInsertar.jButton7.setVisible(autorizado==0);
                principalInsertar.jButton8.setVisible(autorizado == 0);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principal.jButton5.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(principal);
                c.add(BorderLayout.CENTER, principalConsultar);
                principalConsultar.jButton9.setVisible(autorizado == 0);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalInsertar.pagPrinSalir.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                reset();
                c.remove(principalInsertar);
                c.add(BorderLayout.CENTER, principal);
                interfaz.validate();
                interfaz.repaint();
            }
        });

        principalInsertar.jButton3.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                reset();
                c.remove(principalInsertar);
                control.ventanaOrigenUsuarios = 3;
                c.add(BorderLayout.CENTER, aulaInsertar);
                interfaz.validate();
                interfaz.repaint();
            }
        });

        principalInsertar.jButton4.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                reset();
                c.remove(principalInsertar);
                control.llenarMateriasProfesor();
                c.add(BorderLayout.CENTER, profesorInsertar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalInsertar.jButton5.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                reset();
                control.ventanaOrigenUsuarios = 7;
                c.remove(principalInsertar);
                c.add(BorderLayout.CENTER, grupoInsertar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalInsertar.jButton6.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                reset();
                interfaz.setSize(horario);
                interfaz.setLocation(0, 0);
                c.remove(principalInsertar);
                control.cargarHorariodeSeccion("7");
                c.add(BorderLayout.CENTER, horarioInsertar);
                interfaz.validate();
                interfaz.repaint();
            }
        });

        principalInsertar.jButton8.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                reset();
                c.remove(principalInsertar);
                control.ventanaOrigenUsuarios = 1;
                c.add(BorderLayout.CENTER, usuarioInsertar);
                usuarioInsertar.jLabel3.setVisible(true);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        horarioConsultar.jButton5.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                reset();
                c.remove(horarioConsultar);
                control.ImprimirProfesoresProNivel("7");
                control.imprimirAulas("7");
                control.anadirSorter("7", 0);
                control.anadirDocument("7", 0);
                control.ventanaOrigen = 2;
                control.obtenerHorariodeSeccion2("7");
                c.add(BorderLayout.CENTER, horarioInsertar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalConsultar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                reset();
                c.remove(principalConsultar);
                c.add(BorderLayout.CENTER, principal);
                interfaz.validate();
                interfaz.repaint();
            }
        });

        principalConsultar.jButton2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                c.remove(principalConsultar);
                control.ventanaOrigenUsuarios = 8;
                String nivel = (String) interfaz.getGrupoConsultar().jComboBox1.getSelectedItem();
                //control.llenarGrupos(nivel);
                control.llenarGruposConsultar();
                grupoConsultar.setVisible(true);

                c.add(BorderLayout.CENTER, grupoConsultar);
                /// grupoConsultar.jButton3.setVisible(autorizado==0); NO ESTA ELIMINAR GRUPO
                grupoConsultar.jButton4.setVisible(autorizado == 0);
                interfaz.validate();
                interfaz.repaint();
            }
        });

        principalConsultar.jButton3.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                c.remove(principalConsultar);
                control.ventanaOrigenUsuarios = 6;
                control.llenarProfesores();
                sorter = new TableRowSorter<TableModel>(profesorConsultar.jTable1.getModel());
                profesorConsultar.jTable1.setRowSorter(sorter);
                profesorConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                c.add(BorderLayout.CENTER, profesorConsultar);
                profesorConsultar.jButton2.setVisible(autorizado == 0 || autorizado == 1);
                profesorConsultar.jButton3.setVisible(autorizado == 0);
                profesorConsultar.jButton4.setVisible(autorizado == 0);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        profesorConsultar.jButton2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                if (interfaz.getProfesorConsultar().jTable1.getSelectedRowCount() > 0) {
                    c.remove(profesorConsultar);
                    c.add(BorderLayout.CENTER, profesorAsignar);
                    interfaz.validate();
                    interfaz.repaint();
                    control.llenarProfesorAsignar();
                } else {
                    JOptionPane.showMessageDialog(null, "No seleccionó ningún profesor", "Error al eliminar", JOptionPane.ERROR_MESSAGE);
                }
            }
        });
        profesorConsultar.link.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                control.ventanaOrigenUsuarios = 6;
                c.remove(profesorConsultar);
                c.add(BorderLayout.CENTER, profesorInsertar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalConsultar.jButton4.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                interfaz.setSize(horario);
                interfaz.setLocation(0, 0);
                control.obtenerHorariodeSeccion("7");
                c.remove(principalConsultar);
                c.add(BorderLayout.CENTER, horarioConsultar);
                interfaz.validate();
                interfaz.repaint();

            }
        });
        principalConsultar.jButton5.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                interfaz.setSize(horario);
                interfaz.setLocation(0, 0);
                c.remove(principalConsultar);
                c.add(BorderLayout.CENTER, horarioAlternoConsultar);
                interfaz.validate();
                interfaz.repaint();
                control.obtenerHorariodeSeccionAlterno("7");
            }
        });
        principalConsultar.jButton6.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                c.remove(principalConsultar);
                control.ventanaOrigenUsuarios = 4;
                control.llenarAulas();
                sorter = new TableRowSorter<TableModel>(aulaConsultar.jTable1.getModel());
                aulaConsultar.jTable1.setRowSorter(sorter);
                aulaConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                c.add(BorderLayout.CENTER, aulaConsultar);

                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalConsultar.jButton7.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(principalConsultar);
                control.llenarNivel("Sétimo");
                c.add(BorderLayout.CENTER, nivelConsultar);
                nivelConsultar.jButton3.setVisible(autorizado == 0);
//                nivelConsultar.jButton4.setVisible(autorizado == 0);
                nivelConsultar.jButton2.setVisible(false);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalConsultar.jButton8.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                c.remove(principalConsultar);
                control.llenarMaterias();
                sorter = new TableRowSorter<TableModel>(materiaConsultar.jTable1.getModel());
                materiaConsultar.jTable1.setRowSorter(sorter);
                materiaConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

                c.add(BorderLayout.CENTER, materiaConsultar);
                materiaConsultar.jButton5.setVisible(autorizado == 0);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalConsultar.jButton9.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(principalConsultar);
                control.llenarUsuarios();

                sorter = new TableRowSorter<TableModel>(usuarioConsultar.jTable1.getModel());
                usuarioConsultar.jTable1.setRowSorter(sorter);
                usuarioConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                c.add(BorderLayout.CENTER, usuarioConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        profesorAsignar.jButton2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {

                if (control.asignarProfesor()) {
                    JOptionPane.showMessageDialog(interfaz, "Sus cambios se han enviado exitosamente", "Exito", 1);
                }
                control.llenarProfesores();
                c.remove(profesorAsignar);
                reset();
                c.add(BorderLayout.CENTER, profesorConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        profesorAsignar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                c.remove(getProfesorAsignar());
                c.add(BorderLayout.CENTER, profesorConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });

        materiaConsultar.jTextField1.getDocument().addDocumentListener(
                new DocumentListener() {

                    @Override
                    public void insertUpdate(DocumentEvent e) {
                        filtrarMateria();
                    }

                    @Override
                    public void removeUpdate(DocumentEvent e) {
                        filtrarMateria();
                    }

                    @Override
                    public void changedUpdate(DocumentEvent e) {
                        filtrarMateria();
                    }
                });
        profesorConsultar.jTextField1.getDocument().addDocumentListener(
                new DocumentListener() {

                    @Override
                    public void insertUpdate(DocumentEvent e) {
                        filtrarProfesor();
                    }

                    @Override
                    public void removeUpdate(DocumentEvent e) {
                        filtrarProfesor();
                    }

                    @Override
                    public void changedUpdate(DocumentEvent e) {
                        filtrarProfesor();
                    }
                });

        aulaConsultar.jTextField1.getDocument().addDocumentListener(
                new DocumentListener() {

                    @Override
                    public void insertUpdate(DocumentEvent e) {
                        filtrarAula();
                    }

                    @Override
                    public void removeUpdate(DocumentEvent e) {
                        filtrarAula();
                    }

                    @Override
                    public void changedUpdate(DocumentEvent e) {
                        filtrarAula();
                    }
                });
        principalConsultar.jButton8.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                c.remove(principalConsultar);
                control.llenarMaterias();
                sorter = new TableRowSorter<TableModel>(materiaConsultar.jTable1.getModel());
                materiaConsultar.jTable1.setRowSorter(sorter);
                materiaConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

                c.add(BorderLayout.CENTER, materiaConsultar);
                materiaConsultar.jButton5.setVisible(autorizado == 0);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        principalConsultar.jButton9.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(principalConsultar);
                control.llenarUsuarios();

                sorter = new TableRowSorter<TableModel>(usuarioConsultar.jTable1.getModel());
                usuarioConsultar.jTable1.setRowSorter(sorter);
                usuarioConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                c.add(BorderLayout.CENTER, usuarioConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        horarioConsultar.jButton1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                reset();
                c.remove(horarioConsultar);
                interfaz.setSize(normal);
                interfaz.setLocationRelativeTo(null);
                c.add(BorderLayout.CENTER, principalConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        horarioAlternoConsultar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(horarioAlternoConsultar);
                c.add(BorderLayout.CENTER, principalConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        horarioAlternoConsultar.jButton3.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                control.generaReportesAuxGeneral();
            }
        });
        horarioAlternoConsultar.jButton4.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                control.generaReporteAuxiliar(control.obtenerSeccion());
                JOptionPane.showMessageDialog(null, "Reporte de horario auxiliar generado", "Guardado", 1);
            }
        });
        grupoConsultar.link.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(grupoConsultar);
                control.ventanaOrigenUsuarios = 8;
                c.add(BorderLayout.CENTER, grupoInsertar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        grupoConsultar.jButton2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                Object se = grupoConsultar.jComboBox1.getSelectedItem();
                String selecionado = String.valueOf(se);
                control.llenarGrupos(selecionado);
            }
        });
        grupoConsultar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (control.ventanaOrigenUsuarios == 8) {
                    c.remove(grupoConsultar);
                    c.add(BorderLayout.CENTER, principalConsultar);
                    interfaz.validate();
                    interfaz.repaint();
                } else if (control.ventanaOrigenUsuarios == 7) {
                    reset();
                    c.remove(grupoConsultar);
                    c.add(BorderLayout.CENTER, grupoInsertar);
                    interfaz.validate();
                    interfaz.repaint();

                }
            }
        });
        profesorConsultar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (control.ventanaOrigenUsuarios == 6) {
                    c.remove(profesorConsultar);
                    c.add(BorderLayout.CENTER, principalConsultar);
                    interfaz.validate();
                    interfaz.repaint();
                } else if (control.ventanaOrigenUsuarios == 5) {
                    reset();
                    c.remove(profesorConsultar);
                    control.llenarMateriasProfesor();
                    c.add(BorderLayout.CENTER, profesorInsertar);
                    interfaz.validate();
                    interfaz.repaint();
                }
            }
        });
        materiaConsultar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(materiaConsultar);
                c.add(BorderLayout.CENTER, principalConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        aulaConsultar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (control.ventanaOrigenUsuarios == 4) {
                    c.remove(aulaConsultar);
                    c.add(BorderLayout.CENTER, principalConsultar);
                    interfaz.validate();
                    interfaz.repaint();
                } else if (control.ventanaOrigenUsuarios == 3) {
                    c.remove(aulaConsultar);
                    c.add(BorderLayout.CENTER, aulaInsertar);
                    interfaz.validate();
                    interfaz.repaint();
                }

            }
        });
        aulaConsultar.link.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(aulaConsultar);
                control.ventanaOrigenUsuarios = 4;
                c.add(BorderLayout.CENTER, aulaInsertar);
                interfaz.validate();
                interfaz.repaint();
            }
        });

        nivelConsultar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(nivelConsultar);
                c.add(BorderLayout.CENTER, principalConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        nivelConsultar.jButton3.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                boolean bandera = control.eliminarSeccion();
                Object se = nivelConsultar.jComboBox1.getSelectedItem();
                String seleccionado = String.valueOf(se);
                control.llenarNivel(seleccionado);
                if (bandera == true) {
                    JOptionPane.showMessageDialog(null, "Grupo eliminado exitosamente", "EXITO", 1);
                } else {
                    JOptionPane.showMessageDialog(null, "Error al eliminar el grupo", "ERROR", 1);
                }
                interfaz.validate();
                interfaz.repaint();
            }
        });
//        nivelConsultar.jButton4.addActionListener(new ActionListener() {
//
//            @Override
//            public void actionPerformed(ActionEvent e) {
//                c.remove(nivelConsultar);
//                c.add(BorderLayout.CENTER,nivelModificar);
//                interfaz.validate();
//                interfaz.repaint();
//            }
//        });
        materiaConsultar.jButton5.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(materiaConsultar);
                control.llenarMateriaModificar();
                c.add(BorderLayout.CENTER, materiaModificar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        usuarioModificar.jButton2.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                c.remove(usuarioModificar);
                c.add(BorderLayout.CENTER, usuarioConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        usuarioModificar.jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (control.usuarioModificar()) {
                    JOptionPane.showMessageDialog(null, "Usuario modificado exitosamente", "EXITO", 1);
                } else {
                    JOptionPane.showMessageDialog(null, "Error al modificar el usuario", "ERROR", 2);
                }
                c.remove(usuarioModificar);
                control.llenarUsuarios();
                sorter = new TableRowSorter<TableModel>(usuarioConsultar.jTable1.getModel());
                usuarioConsultar.jTable1.setRowSorter(sorter);
                usuarioConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                c.add(BorderLayout.CENTER, usuarioConsultar);
                interfaz.validate();
                interfaz.repaint();
            }
        });
        profesorModificar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(profesorModificar);
                        c.add(BorderLayout.CENTER, profesorConsultar);
                        reset();
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        profesorModificar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        boolean cedula = false;
                        boolean nombre = false;
                        boolean telefono = false;
                        profesorModificar.jLabel2.setText("Cédula: ");
                        profesorModificar.jLabel2.setForeground(Color.BLACK);
                        profesorModificar.jLabel3.setText("Nombre: ");
                        profesorModificar.jLabel3.setForeground(Color.BLACK);
                        profesorModificar.jLabel7.setText("Teléfono: ");
                        profesorModificar.jLabel7.setForeground(Color.BLACK);
                        if (control.validarCedula(profesorModificar.jTextField1.getText())) {
                            cedula = true;
                        } else {
                            profesorModificar.jLabel2.setText("Cédula: *");
                            profesorModificar.jLabel2.setForeground(Color.RED);
                        }
                        if (control.validarNombreCompleto(profesorModificar.jTextField2.getText())) {
                            nombre = true;
                        } else {
                            profesorModificar.jLabel3.setText("Nombre: *");
                            profesorModificar.jLabel3.setForeground(Color.RED);
                        }

                        if (control.validarTelefono(profesorModificar.jTextField6.getText())) {
                            telefono = true;
                        } else {
                            profesorModificar.jLabel7.setText("Teléfono: *");
                            profesorModificar.jLabel7.setForeground(Color.RED);
                        }
                        if (cedula && nombre && telefono) {
                            control.modificarMateriasProfesor();
                            if (control.profesorModificar()) {
                                control.llenarProfesores();
                                JOptionPane.showMessageDialog(null, "Profesor se modifico exitosamente", "EXITO", 1);
                                c.remove(profesorModificar);
                                sorter = new TableRowSorter<TableModel>(profesorConsultar.jTable1.getModel());
                                profesorConsultar.jTable1.setRowSorter(sorter);
                                profesorConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                                c.add(BorderLayout.CENTER, profesorConsultar);
                                interfaz.validate();
                                interfaz.repaint();
                            } else {
                                JOptionPane.showMessageDialog(null, "Error al modificar el profesor", "ERROR", 0);
                            }
                        }

                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );

        materiaModificar.jButton3.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(materiaModificar);
                        c.add(BorderLayout.CENTER, materiaConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        materiaModificar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(materiaModificar);
                        control.materiaModificar();
                        control.llenarMaterias();
                        sorter = new TableRowSorter<TableModel>(materiaConsultar.jTable1.getModel());
                        materiaConsultar.jTable1.setRowSorter(sorter);
                        materiaConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

                        c.add(BorderLayout.CENTER, materiaConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        grupoModificar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(grupoModificar);
                        c.add(BorderLayout.CENTER, grupoConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        grupoModificar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (!control.grupoModificar()) {
                            JOptionPane.showMessageDialog(null, "No se modifico la sección", "ERROR", 1);
                        } else {
                            JOptionPane.showMessageDialog(null, "La sección se ha modificado exitosamente", "EXITO", 1);
                        }
                        c.remove(grupoModificar);
                        control.llenarGruposConsultar();
                        grupoConsultar.setVisible(true);

                        c.add(BorderLayout.CENTER, grupoConsultar);
                        grupoConsultar.jButton4.setVisible(autorizado == 0);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        aulaModificar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(aulaModificar);
                        c.add(BorderLayout.CENTER, aulaConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        usuarioConsultar.jButton4.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (interfaz.getUsuarioConsultar().jTable1.getSelectedRowCount() > 0) {
                            c.remove(usuarioConsultar);
                            control.llenarUsuarioModificar();
                            c.add(BorderLayout.CENTER, usuarioModificar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else {
                            JOptionPane.showMessageDialog(null, "No seleccionó ningún usuario", "Error al eliminar", JOptionPane.ERROR_MESSAGE);
                        }
                    }
                }
        );
        usuarioConsultar.jButton3.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        if (control.usuarioEliminar()) {
                            control.limpiarTablaUsuarioConsultar();
                            control.llenarUsuarios();
                        }
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        profesorConsultar.jButton3.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(profesorConsultar);
                        control.profesorEliminar();
                        control.llenarProfesores();
                        sorter = new TableRowSorter<TableModel>(profesorConsultar.jTable1.getModel());
                        profesorConsultar.jTable1.setRowSorter(sorter);
                        profesorConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                        c.add(BorderLayout.CENTER, profesorConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        profesorConsultar.jButton4.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (interfaz.getProfesorConsultar().jTable1.getSelectedRowCount() > 0) {
                            c.remove(profesorConsultar);
                            control.llenarMateriasProfesorModificar();
                            control.llenarProfesorModificar();
                            control.llenarComboBoxProfModifiar();
                            c.add(BorderLayout.CENTER, profesorModificar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else {
                            JOptionPane.showMessageDialog(null, "No seleccionó ningún profesor", "Error al eliminar", JOptionPane.ERROR_MESSAGE);
                        }
                    }
                }
        );
        grupoConsultar.jButton4.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (interfaz.getGrupoConsultar().jTable1.getSelectedRowCount() > 0) {
                            c.remove(grupoConsultar);
                            control.llenarProfesoresGrupoModificar();
                            control.llenarMateriasGrupoModificar();
                            control.llenarGrupoModificar();
                            c.add(BorderLayout.CENTER, grupoModificar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else {
                            JOptionPane.showMessageDialog(null, "No seleccionó ningúna sección", "Error al eliminar", JOptionPane.ERROR_MESSAGE);
                        }
                    }
                }
        );

        nivelConsultar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        nivelConsultar.jLabel8.setVisible(true);
                        nivelConsultar.jLabel9.setVisible(true);
                        nivelConsultar.jScrollPane1.setVisible(true);
                        nivelConsultar.jTable1.setVisible(true);

                        Object se = nivelConsultar.jComboBox1.getSelectedItem();
                        String selecionado = String.valueOf(se);
                        control.llenarNivel(selecionado);
                        interfaz.validate();
                        interfaz.repaint();

                    }
                }
        );
        nivelConsultar.jComboBox1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        nivelConsultar.jLabel8.setVisible(true);
                        nivelConsultar.jLabel9.setVisible(true);
                        nivelConsultar.jScrollPane1.setVisible(true);
                        nivelConsultar.jTable1.setVisible(true);

                        Object se = nivelConsultar.jComboBox1.getSelectedItem();
                        String selecionado = String.valueOf(se);
                        control.llenarNivel(selecionado);
                        interfaz.validate();
                        interfaz.repaint();

                    }
                }
        );
        usuarioConsultar.link.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(usuarioConsultar);
                        control.ventanaOrigenUsuarios = 2;
                        c.add(BorderLayout.CENTER, usuarioInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        usuarioConsultar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.ventanaOrigenUsuarios == 1) {
                            c.remove(usuarioConsultar);
                            c.add(BorderLayout.CENTER, principalConsultar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else if (control.ventanaOrigenUsuarios == 2) {
                            c.remove(usuarioConsultar);
                            control.ventanaOrigenUsuarios = 1;
                            c.add(BorderLayout.CENTER, usuarioInsertar);
                            interfaz.validate();
                            interfaz.repaint();

                        }
                    }
                }
        );
        usuarioConsultar.jTextField1.getDocument()
                .addDocumentListener(
                        new DocumentListener() {

                            @Override
                            public void insertUpdate(DocumentEvent e
                            ) {
                                filtrar();
                            }

                            @Override
                            public void removeUpdate(DocumentEvent e
                            ) {
                                filtrar();
                            }

                            @Override
                            public void changedUpdate(DocumentEvent e
                            ) {
                                filtrar();
                            }
                        }
                );
        principal.jButton1.setToolTipText(
                "Digite su nombre de usuario");
        principal.jButton1.addActionListener(
                new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(principal);
                        c.add(BorderLayout.CENTER, loggin);
                        usuarioActual = null;
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        principal.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(principal);
                        c.add(BorderLayout.CENTER, principalInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        principal.jButton5.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(principal);
                        c.add(BorderLayout.CENTER, principalConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        principalInsertar.pagPrinSalir.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(principalInsertar);
                        c.add(BorderLayout.CENTER, principal);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );

        principalInsertar.jButton3.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(principalInsertar);
                        c.add(BorderLayout.CENTER, aulaInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        principalInsertar.jButton4.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(principalInsertar);
                        control.ventanaOrigenUsuarios = 5;
                        control.llenarMateriasProfesor();

                        c.add(BorderLayout.CENTER, profesorInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        principalInsertar.jButton5.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(principalInsertar);
                        control.ventanaOrigenUsuarios = 7;
                        c.add(BorderLayout.CENTER, grupoInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );

        principalInsertar.jButton6.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(principalInsertar);
                        control.ImprimirProfesoresProNivel("7");
                        control.imprimirAulas("7");
                        control.anadirSorter("7", 0);
                        control.anadirDocument("7", 0);
                        control.ventanaOrigen = 1;
                        c.add(BorderLayout.CENTER, horarioInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        principalInsertar.jButton7.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(principalInsertar);
                        interfaz.setSize(horario);
                        interfaz.setLocation(0, 0);
                        control.ImprimirProfesoresProNivelAlterno("7");
                        control.imprimirAulasAlterno("7");
                        control.anadirSorterAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
                        control.anadirDocumentAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
                        control.cargarHorariodeSeccionAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
                        c.add(BorderLayout.CENTER, horarioAlternoInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        principalInsertar.jButton8.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(principalInsertar);
                        c.add(BorderLayout.CENTER, usuarioInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        principalConsultar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(principalConsultar);
                        c.add(BorderLayout.CENTER, principal);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        aulaInsertar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.ventanaOrigenUsuarios == 3) {
                            reset();
                            c.remove(aulaInsertar);
                            c.add(BorderLayout.CENTER, principalInsertar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else if (control.ventanaOrigenUsuarios == 4) {
                            reset();
                            c.remove(aulaInsertar);
                            c.add(BorderLayout.CENTER, aulaConsultar);
                            interfaz.validate();
                            interfaz.repaint();
                        }
                    }
                }
        );
        aulaInsertar.link.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(aulaInsertar);
                        control.ventanaOrigenUsuarios = 3;
                        control.llenarAulas();
                        sorter = new TableRowSorter<TableModel>(aulaConsultar.jTable1.getModel());
                        aulaConsultar.jTable1.setRowSorter(sorter);
                        aulaConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                        c.add(BorderLayout.CENTER, aulaConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        aulaInsertar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.validarCodigo(aulaInsertar.jTextField1.getText())) {
                            if (control.agregarAula()) {
                                reset();
                                c.remove(aulaInsertar);
                                c.add(BorderLayout.CENTER, aulaInsertar);
                                interfaz.validate();
                                interfaz.repaint();
                                JOptionPane.showMessageDialog(null, "Aula ingresada exitosamente", "EXITO", 1);
                            } else {
                                JOptionPane.showMessageDialog(null, "El aula " + interfaz.getAulaInsertar().jTextField1.getText() + " ya existe, Aula no ingresada", "ERROR", 0);
                            }
                        } else {
                            JOptionPane.showMessageDialog(null, "Datos del Aula ingresados son invalidos", "ERROR", 0);
                            aulaInsertar.jLabel2.setText("Código: *");
                            aulaInsertar.jLabel2.setForeground(Color.RED);
                        }
                    }
                }
        );
        grupoInsertar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.ventanaOrigenUsuarios == 7) {
                            reset();
                            c.remove(grupoInsertar);
                            c.add(BorderLayout.CENTER, principalInsertar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else if (control.ventanaOrigenUsuarios == 8) {
                            c.remove(grupoInsertar);

                            String nivel = (String) interfaz.getGrupoConsultar().jComboBox1.getSelectedItem();
                            //control.llenarGrupos(nivel);
                            control.llenarGruposConsultar();
                            grupoConsultar.setVisible(true);

                            c.add(BorderLayout.CENTER, grupoConsultar);
                            /// grupoConsultar.jButton3.setVisible(autorizado==0); NO ESTA ELIMINAR GRUPO
                            grupoConsultar.jButton4.setVisible(autorizado == 0);
                            interfaz.validate();
                            interfaz.repaint();
                        }
                    }
                }
        );
        grupoInsertar.link.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(grupoInsertar);
                        control.ventanaOrigenUsuarios = 7;
                        String nivel = (String) interfaz.getGrupoConsultar().jComboBox1.getSelectedItem();

                        control.llenarGruposConsultar();
                        grupoConsultar.setVisible(true);

                        grupoConsultar.jButton4.setVisible(autorizado == 0);
                        c.add(BorderLayout.CENTER, grupoConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        grupoInsertar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {

                        int currentValue = (Integer) interfaz.getGrupoInsertar().jSpinner1.getValue();

                        if (control.agregarGrupos(currentValue)) {
                            c.remove(grupoInsertar);
                            c.add(BorderLayout.CENTER, principalInsertar);
                            interfaz.validate();
                            interfaz.repaint();
                        }
                    }
                }
        );

        grupoInsertar.jButton3.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.agregarUnGrupo()) {
                            reset();
//                            c.remove(grupoInsertar);
//                            c.add(BorderLayout.CENTER, principalInsertar);
                            interfaz.validate();
                            interfaz.repaint();

                        }

                    }

                }
        );

        materiaInsertar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.agregarMateria()) {
                            reset();
                            c.remove(materiaInsertar);
                            c.add(BorderLayout.CENTER, principalInsertar);
                            interfaz.validate();
                            interfaz.repaint();
                            JOptionPane.showMessageDialog(null, "Materia ingresada exitosamente", "EXITO", 1);
                        }
                    }
                }
        );
        materiaInsertar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(materiaInsertar);
                        c.add(BorderLayout.CENTER, principalInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        profesorInsertar.link.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        control.ventanaOrigenUsuarios = 5;
                        c.remove(profesorInsertar);

                        control.llenarProfesores();
                        sorter = new TableRowSorter<TableModel>(profesorConsultar.jTable1.getModel());
                        profesorConsultar.jTable1.setRowSorter(sorter);
                        profesorConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                        c.add(BorderLayout.CENTER, profesorConsultar);
                        profesorConsultar.jButton2.setVisible(autorizado == 0 || autorizado == 1);
                        profesorConsultar.jButton3.setVisible(autorizado == 0);
                        profesorConsultar.jButton4.setVisible(autorizado == 0);
                        c.add(BorderLayout.CENTER, profesorConsultar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        profesorInsertar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.ventanaOrigenUsuarios == 5) {
                            reset();
                            c.remove(profesorInsertar);
                            c.add(BorderLayout.CENTER, principalInsertar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else if (control.ventanaOrigenUsuarios == 6) {
                            c.remove(profesorInsertar);
                            control.llenarProfesores();
                            sorter = new TableRowSorter<TableModel>(profesorConsultar.jTable1.getModel());
                            profesorConsultar.jTable1.setRowSorter(sorter);
                            profesorConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                            c.add(BorderLayout.CENTER, profesorConsultar);
                            profesorConsultar.jButton2.setVisible(autorizado == 0 || autorizado == 1);
                            profesorConsultar.jButton3.setVisible(autorizado == 0);
                            profesorConsultar.jButton4.setVisible(autorizado == 0);
                            interfaz.validate();
                            interfaz.repaint();
                        }
                    }
                }
        );
        profesorInsertar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent ae
                    ) {
                        boolean cedula = false;
                        boolean nombre = false;
                        boolean apellido1 = false;
                        boolean apellido2 = false;
                        boolean telefono = false;
                        profesorInsertar.jLabel2.setText("Cédula: ");
                        profesorInsertar.jLabel2.setForeground(Color.BLACK);
                        profesorInsertar.jLabel3.setText("Nombre: ");
                        profesorInsertar.jLabel3.setForeground(Color.BLACK);
                        profesorInsertar.jLabel4.setText("Primer Apellido: ");
                        profesorInsertar.jLabel4.setForeground(Color.BLACK);
                        profesorInsertar.jLabel5.setText("Segundo Apellido: ");
                        profesorInsertar.jLabel5.setForeground(Color.BLACK);
                        profesorInsertar.jLabel7.setText("Teléfono: ");
                        profesorInsertar.jLabel7.setForeground(Color.BLACK);
                        if (control.validarCedula(profesorInsertar.jTextField1.getText())) {
                            cedula = true;
                        } else {
                            profesorInsertar.jLabel2.setText("Cédula: *");
                            profesorInsertar.jLabel2.setForeground(Color.RED);
                        }
                        if (control.validarNombre(profesorInsertar.jTextField2.getText())) {
                            nombre = true;
                        } else {
                            profesorInsertar.jLabel3.setText("Nombre: *");
                            profesorInsertar.jLabel3.setForeground(Color.RED);
                        }
                        if (control.validarNombre(profesorInsertar.jTextField3.getText())) {
                            apellido1 = true;
                        } else {
                            profesorInsertar.jLabel4.setText("Primer Apellido: *");
                            profesorInsertar.jLabel4.setForeground(Color.RED);
                        }
                        if (control.validarNombre(profesorInsertar.jTextField4.getText())) {
                            apellido2 = true;
                        } else {
                            profesorInsertar.jLabel5.setText("Segundo Apellido: *");
                            profesorInsertar.jLabel5.setForeground(Color.RED);
                        }
                        if (control.validarTelefono(profesorInsertar.jTextField6.getText())) {
                            telefono = true;
                        } else {
                            profesorInsertar.jLabel7.setText("Teléfono: *");
                            profesorInsertar.jLabel7.setForeground(Color.RED);
                        }
                        if (cedula && nombre && apellido1 && apellido2 && telefono) {
                            if (control.agregarProfesor()) {
                                JOptionPane.showMessageDialog(null, "Profesor ingresado exitosamente", "EXITO", 1);
                                reset();
                                c.add(BorderLayout.CENTER, profesorInsertar);
                                interfaz.validate();
                                interfaz.repaint();
                            } else {
                                JOptionPane.showMessageDialog(null, "El profesor " + interfaz.profesorInsertar.jTextField1.getText() + " ya existe, Profesor no ingresado", "ERROR", 0);
                            }
                        }
                    }
                }
        );

        horarioInsertar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        control.temporales.clear();
                        if (control.ventanaOrigen == 1) {
                            reset();
                            c.remove(horarioInsertar);
                            interfaz.setSize(normal);
                            interfaz.setLocationRelativeTo(null);
                            c.add(BorderLayout.CENTER, principalInsertar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else if (control.ventanaOrigen == 2) {
                            interfaz.setSize(horario);
                            interfaz.setLocation(0, 0);
                            c.remove(horarioInsertar);
                            c.add(BorderLayout.CENTER, horarioConsultar);
                            interfaz.validate();
                            interfaz.repaint();
                            control.limpiarTablaHorarioConsultar("7");
                            control.obtenerHorariodeSeccion("7");
                        }
                    }
                }
        );
        horarioInsertar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {

                        //empieza
                        if (horarioInsertar.principal.getSelectedIndex() == 0) {
                            control.guardarIngresarHorario("7");
                        } else if (horarioInsertar.principal.getSelectedIndex() == 1) {
                            control.guardarIngresarHorario("8");
                        } else if (horarioInsertar.principal.getSelectedIndex() == 2) {
                            control.guardarIngresarHorario("9");
                        } else if (horarioInsertar.principal.getSelectedIndex() == 3) {
                            control.guardarIngresarHorario("10");
                        } else if (horarioInsertar.principal.getSelectedIndex() == 4) {
                            control.guardarIngresarHorario("11");
                        }
                        reset();
                        //  c.remove(horarioInsertar);
                        interfaz.setSize(horario);
                        interfaz.setLocationRelativeTo(null);
                        c.add(BorderLayout.CENTER, horarioInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        horarioAlternoInsertar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        reset();
                        c.remove(horarioAlternoInsertar);

                        control.temporales.clear();
                        interfaz.setSize(normal);
                        interfaz.setLocationRelativeTo(null);
                        c.add(BorderLayout.CENTER, principalInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );

        horarioAlternoInsertar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {

                        //empieza
                        if (horarioAlternoInsertar.principal.getSelectedIndex() == 0) {
                            control.guardarIngresarHorarioAlterno("7");
                        } else if (horarioAlternoInsertar.principal.getSelectedIndex() == 1) {
                            control.guardarIngresarHorarioAlterno("8");
                        } else if (horarioAlternoInsertar.principal.getSelectedIndex() == 2) {
                            control.guardarIngresarHorarioAlterno("9");
                        } else if (horarioAlternoInsertar.principal.getSelectedIndex() == 3) {
                            control.guardarIngresarHorarioAlterno("10");
                        } else if (horarioAlternoInsertar.principal.getSelectedIndex() == 4) {
                            control.guardarIngresarHorarioAlterno("11");
                        }
                        reset();
                        //  c.remove(horarioInsertar);
                        interfaz.setSize(horario);
                        interfaz.setLocationRelativeTo(null);
                        c.add(BorderLayout.CENTER, horarioAlternoInsertar);
                        interfaz.validate();
                        interfaz.repaint();
                    }
                }
        );
        usuarioInsertar.link.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        c.remove(usuarioInsertar);
                        control.ventanaOrigenUsuarios = 2;
                        control.llenarUsuarios();
                        sorter = new TableRowSorter<TableModel>(usuarioConsultar.jTable1.getModel());
                        usuarioConsultar.jTable1.setRowSorter(sorter);
                        usuarioConsultar.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                        c.add(BorderLayout.CENTER, usuarioConsultar);
                        interfaz.validate();
                        interfaz.repaint();

                    }
                }
        );
        usuarioInsertar.jButton1.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.agregarUsuario()) {
                            usuarioInsertar.jLabel3.setVisible(true);
                            usuarioInsertar.jLabel3.setForeground(Color.GREEN);
                            usuarioInsertar.jLabel3.setText("El usuario se agrego correctamente");
                        } else {
                            usuarioInsertar.jLabel3.setForeground(Color.RED);
                            usuarioInsertar.jLabel3.setText("Error al ingresar el usuario");
                        }
                        reset();
                        //c.remove(usuarioInsertar);
                        //c.add(BorderLayout.CENTER, principalInsertar);
                        interfaz.validate();
                        interfaz.repaint();

                    }
                }
        );
        usuarioInsertar.jButton2.addActionListener(
                new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e
                    ) {
                        if (control.ventanaOrigenUsuarios == 1) {
                            reset();
                            usuarioInsertar.jLabel3.setText(null);
                            c.remove(usuarioInsertar);
                            c.add(BorderLayout.CENTER, principalInsertar);
                            interfaz.validate();
                            interfaz.repaint();
                        } else if (control.ventanaOrigenUsuarios == 2) {
                            c.remove(usuarioInsertar);
                            control.ventanaOrigenUsuarios = 1;
                            c.add(BorderLayout.CENTER, usuarioConsultar);
                            interfaz.validate();
                            interfaz.repaint();

                        }
                    }
                }
        );
        loggin.jTextField1.addKeyListener(
                new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e
                    ) {
                        int key = e.getKeyCode();
                        if (key == KeyEvent.VK_ENTER) {
                            if (control.verificar()) {
                                c.remove(loggin);
                                c.add(BorderLayout.CENTER, principal);
                                reset();
                                interfaz.validate();
                                interfaz.repaint();
                            } else {
                                loggin.jLabel6.setVisible(true);
                            }
                        }
                    }

                }
        );

        this.loggin.jPasswordField1.addKeyListener(
                new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e
                    ) {
                        int key = e.getKeyCode();
                        if (key == KeyEvent.VK_ENTER) {
                            if (control.verificar()) {
                                c.remove(loggin);
                                c.add(BorderLayout.CENTER, principal);
                                reset();
                                interfaz.validate();
                                interfaz.repaint();
                            } else {
                                loggin.jLabel6.setVisible(true);
                            }
                        }
                    }

                }
        );

        //cosas del horario
        horarioInsertar.principal.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent me) {
                if (horarioInsertar.principal.getSelectedIndex() == 0) {
                    control.ImprimirProfesoresProNivel("7");
                    control.imprimirAulas("7");
                    control.anadirSorter("7", horarioInsertar.setimo.getSelectedIndex());
                    control.anadirDocument("7", horarioInsertar.setimo.getSelectedIndex());
                    control.cargarHorariodeSeccion("7");
                } else if (horarioInsertar.principal.getSelectedIndex() == 1) {
                    control.ImprimirProfesoresProNivel("8");
                    control.imprimirAulas("8");
                    control.anadirSorter("8", horarioInsertar.octavo.getSelectedIndex());
                    control.anadirDocument("8", horarioInsertar.octavo.getSelectedIndex());
                    control.cargarHorariodeSeccion("8");
                } else if (horarioInsertar.principal.getSelectedIndex() == 2) {
                    control.ImprimirProfesoresProNivel("9");
                    control.imprimirAulas("9");
                    control.anadirSorter("9", horarioInsertar.noveno.getSelectedIndex());
                    control.anadirDocument("9", horarioInsertar.noveno.getSelectedIndex());
                    control.cargarHorariodeSeccion("9");
                } else if (horarioInsertar.principal.getSelectedIndex() == 3) {
                    control.ImprimirProfesoresProNivel("10");
                    control.imprimirAulas("10");
                    control.anadirSorter("10", horarioInsertar.decimo.getSelectedIndex());
                    control.anadirDocument("10", horarioInsertar.decimo.getSelectedIndex());
                    control.cargarHorariodeSeccion("10");
                } else if (horarioInsertar.principal.getSelectedIndex() == 4) {
                    control.ImprimirProfesoresProNivel("11");
                    control.imprimirAulas("11");
                    control.anadirSorter("11", horarioInsertar.undecimo.getSelectedIndex());
                    control.anadirDocument("11", horarioInsertar.undecimo.getSelectedIndex());
                    control.cargarHorariodeSeccion("11");
                }
            }
        });

        horarioInsertar.setimo.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent me) {
                control.cargarHorariodeSeccion("7");
                control.ImprimirProfesoresProNivel("7");
                control.imprimirAulas("7");
                control.anadirSorter("7", horarioInsertar.setimo.getSelectedIndex());
                control.anadirDocument("7", horarioInsertar.setimo.getSelectedIndex());
            }
        });
        horarioInsertar.octavo.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent me) {
                control.cargarHorariodeSeccion("8");
                control.ImprimirProfesoresProNivel("8");
                control.imprimirAulas("8");
                control.anadirSorter("8", horarioInsertar.octavo.getSelectedIndex());
                control.anadirDocument("8", horarioInsertar.octavo.getSelectedIndex());
            }
        });
        horarioInsertar.noveno.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent me) {
                control.cargarHorariodeSeccion("9");
                control.ImprimirProfesoresProNivel("9");
                control.imprimirAulas("9");
                control.anadirSorter("9", horarioInsertar.noveno.getSelectedIndex());
                control.anadirDocument("9", horarioInsertar.noveno.getSelectedIndex());
            }
        });
        horarioInsertar.decimo.addMouseListener(new MouseAdapter() {

            public void mouseClicked(java.awt.event.MouseEvent evt) {
                control.cargarHorariodeSeccion("10");
                control.ImprimirProfesoresProNivel("10");
                control.imprimirAulas("10");
                control.anadirSorter("10", horarioInsertar.decimo.getSelectedIndex());
                control.anadirDocument("10", horarioInsertar.decimo.getSelectedIndex());
            }
        });
        horarioInsertar.undecimo.addMouseListener(new MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                control.cargarHorariodeSeccion("11");
                control.ImprimirProfesoresProNivel("11");
                control.imprimirAulas("11");
                control.anadirSorter("11", horarioInsertar.undecimo.getSelectedIndex());
                control.anadirDocument("11", horarioInsertar.undecimo.getSelectedIndex());
            }
        });

        //cosas de horario consultar
        horarioConsultar.principal.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent me) {
                if (horarioConsultar.principal.getSelectedIndex() == 0) {
                    control.obtenerHorariodeSeccion("7");
                } else if (horarioConsultar.principal.getSelectedIndex() == 1) {
                    control.obtenerHorariodeSeccion("8");
                } else if (horarioConsultar.principal.getSelectedIndex() == 2) {
                    control.obtenerHorariodeSeccion("9");
                } else if (horarioConsultar.principal.getSelectedIndex() == 3) {
                    control.obtenerHorariodeSeccion("10");
                } else if (horarioConsultar.principal.getSelectedIndex() == 4) {
                    control.obtenerHorariodeSeccion("11");
                }
            }
        });
        horarioConsultar.setimo.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccion("7", String.valueOf(horarioConsultar.setimo.getSelectedIndex() + 1));
            }

        });
        horarioConsultar.octavo.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccion("8", String.valueOf(horarioConsultar.octavo.getSelectedIndex() + 1));
            }

        });
        horarioConsultar.noveno.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccion("9", String.valueOf(horarioConsultar.noveno.getSelectedIndex() + 1));
            }

        });
        horarioConsultar.decimo.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccion("10", String.valueOf(horarioConsultar.decimo.getSelectedIndex() + 1));
                System.out.println("pressed");
            }

        });
        horarioConsultar.undecimo.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccion("11", String.valueOf(horarioConsultar.undecimo.getSelectedIndex() + 1));
            }

        });

        //
        horarioAlternoConsultar.principal.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent me) {
                if (horarioAlternoConsultar.principal.getSelectedIndex() == 0) {
                    control.obtenerHorariodeSeccionAlterno("7");
                } else if (horarioAlternoConsultar.principal.getSelectedIndex() == 1) {
                    control.obtenerHorariodeSeccionAlterno("8");
                } else if (horarioAlternoConsultar.principal.getSelectedIndex() == 2) {
                    control.obtenerHorariodeSeccionAlterno("9");
                } else if (horarioAlternoConsultar.principal.getSelectedIndex() == 3) {
                    control.obtenerHorariodeSeccionAlterno("10");
                } else if (horarioAlternoConsultar.principal.getSelectedIndex() == 4) {
                    control.obtenerHorariodeSeccionAlterno("11");
                }
            }
        });
        horarioAlternoConsultar.setimo.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccionAlterno("7", String.valueOf(horarioAlternoConsultar.setimo.getSelectedIndex() + 1));
            }

        });
        horarioAlternoConsultar.octavo.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccionAlterno("8", String.valueOf(horarioAlternoConsultar.octavo.getSelectedIndex() + 1));
            }

        });
        horarioAlternoConsultar.noveno.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccionAlterno("9", String.valueOf(horarioAlternoConsultar.noveno.getSelectedIndex() + 1));
            }

        });
        horarioAlternoConsultar.decimo.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccionAlterno("10", String.valueOf(horarioAlternoConsultar.decimo.getSelectedIndex() + 1));
                System.out.println("pressed");
            }

        });
        horarioAlternoConsultar.undecimo.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent me) {
                control.obtenerHorariodeSeccionAlterno("11", String.valueOf(horarioAlternoConsultar.undecimo.getSelectedIndex() + 1));
            }

        });

        //cosas de horario alterno
        horarioAlternoInsertar.principal.addMouseListener(new MouseAdapter() {
            public void mouseClicked(MouseEvent me) {
                if (horarioAlternoInsertar.principal.getSelectedIndex() == 0) {
                    control.ImprimirProfesoresProNivelAlterno("7");
                    control.imprimirAulasAlterno("7");
                    control.anadirSorterAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
                    control.anadirDocumentAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
                    control.cargarHorariodeSeccionAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
                } else if (horarioAlternoInsertar.principal.getSelectedIndex() == 1) {
                    control.ImprimirProfesoresProNivelAlterno("8");
                    control.imprimirAulasAlterno("8");
                    control.anadirSorterAlterno("8", horarioAlternoInsertar.octavo.getSelectedIndex());
                    control.anadirDocumentAlterno("8", horarioAlternoInsertar.octavo.getSelectedIndex());
                    control.cargarHorariodeSeccionAlterno("8", horarioAlternoInsertar.octavo.getSelectedIndex());
                } else if (horarioAlternoInsertar.principal.getSelectedIndex() == 2) {
                    control.ImprimirProfesoresProNivelAlterno("9");
                    control.imprimirAulasAlterno("9");
                    control.anadirSorterAlterno("9", horarioAlternoInsertar.noveno.getSelectedIndex());
                    control.anadirDocumentAlterno("9", horarioAlternoInsertar.noveno.getSelectedIndex());
                    control.cargarHorariodeSeccionAlterno("9", horarioAlternoInsertar.noveno.getSelectedIndex());
                } else if (horarioAlternoInsertar.principal.getSelectedIndex() == 3) {
                    control.ImprimirProfesoresProNivelAlterno("10");
                    control.imprimirAulasAlterno("10");
                    control.anadirSorterAlterno("10", horarioAlternoInsertar.decimo.getSelectedIndex());
                    control.anadirDocumentAlterno("10", horarioAlternoInsertar.decimo.getSelectedIndex());
                    control.cargarHorariodeSeccionAlterno("10", horarioAlternoInsertar.decimo.getSelectedIndex());
                } else if (horarioAlternoInsertar.principal.getSelectedIndex() == 4) {
                    control.ImprimirProfesoresProNivelAlterno("11");
                    control.imprimirAulasAlterno("11");
                    control.anadirSorterAlterno("11", horarioAlternoInsertar.undecimo.getSelectedIndex());
                    control.anadirDocumentAlterno("11", horarioAlternoInsertar.undecimo.getSelectedIndex());
                    control.cargarHorariodeSeccionAlterno("11", horarioAlternoInsertar.undecimo.getSelectedIndex());
                }
            }
        });

        horarioAlternoInsertar.setimo.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent me) {
                control.cargarHorariodeSeccionAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
                control.ImprimirProfesoresProNivelAlterno("7");
                control.imprimirAulasAlterno("7");
                control.anadirSorterAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
                control.anadirDocumentAlterno("7", horarioAlternoInsertar.setimo.getSelectedIndex());
            }
        });
        horarioAlternoInsertar.octavo.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent me) {
                control.cargarHorariodeSeccionAlterno("8", horarioAlternoInsertar.octavo.getSelectedIndex());
                control.ImprimirProfesoresProNivelAlterno("8");
                control.imprimirAulasAlterno("8");
                control.anadirSorterAlterno("8", horarioAlternoInsertar.octavo.getSelectedIndex());
                control.anadirDocumentAlterno("8", horarioAlternoInsertar.octavo.getSelectedIndex());
            }
        });
        horarioAlternoInsertar.noveno.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent me) {
                control.cargarHorariodeSeccionAlterno("9", horarioAlternoInsertar.noveno.getSelectedIndex());
                control.ImprimirProfesoresProNivelAlterno("9");
                control.imprimirAulasAlterno("9");
                control.anadirSorterAlterno("9", horarioAlternoInsertar.noveno.getSelectedIndex());
                control.anadirDocumentAlterno("9", horarioAlternoInsertar.noveno.getSelectedIndex());
            }
        });
        horarioAlternoInsertar.decimo.addMouseListener(new MouseAdapter() {

            public void mouseClicked(java.awt.event.MouseEvent evt) {
                control.cargarHorariodeSeccionAlterno("10", horarioAlternoInsertar.decimo.getSelectedIndex());
                control.ImprimirProfesoresProNivelAlterno("10");
                control.imprimirAulasAlterno("10");
                control.anadirSorterAlterno("10", horarioAlternoInsertar.decimo.getSelectedIndex());
                control.anadirDocumentAlterno("10", horarioAlternoInsertar.decimo.getSelectedIndex());
            }
        });
        horarioAlternoInsertar.undecimo.addMouseListener(new MouseAdapter() {
            public void mmouseClicked(java.awt.event.MouseEvent evt) {
                control.cargarHorariodeSeccionAlterno("11", horarioAlternoInsertar.undecimo.getSelectedIndex());
                control.ImprimirProfesoresProNivelAlterno("11");
                control.imprimirAulasAlterno("11");
                control.anadirSorterAlterno("11", horarioAlternoInsertar.undecimo.getSelectedIndex());
                control.anadirDocumentAlterno("11", horarioAlternoInsertar.undecimo.getSelectedIndex());
            }
        });

    }

    public void filtrar() {
        RowFilter<TableModel, Object> rf = null;
        int indiceColumnaTabla = 1;
        switch (usuarioConsultar.jComboBox1.getSelectedIndex()) {
            case 0:
                indiceColumnaTabla = 0;
                break;//por nombre
            case 1:
                indiceColumnaTabla = 1;
                break;//por privilegio
        }
        try {
            rf = RowFilter.regexFilter("(?i)" + usuarioConsultar.jTextField1.getText(), indiceColumnaTabla);
        } catch (java.util.regex.PatternSyntaxException e) {
        }
        sorter.setRowFilter(rf);
    }

    public void filtrarMateria() {
        RowFilter<TableModel, Object> rf = null;
        int indiceColumnaTabla = 2;
        switch (materiaConsultar.jComboBox1.getSelectedIndex()) {
            case 0:
                indiceColumnaTabla = 0;
                break;//por materia
            case 1:
                indiceColumnaTabla = 2;
                break;//por nivel
        }
        try {
            rf = RowFilter.regexFilter("(?i)" + materiaConsultar.jTextField1.getText(), indiceColumnaTabla);
        } catch (java.util.regex.PatternSyntaxException e) {
        }
        sorter.setRowFilter(rf);
    }

    public void filtrarProfesor() {
        RowFilter<TableModel, Object> rf = null;
        int indiceColumnaTabla = 2;
        switch (profesorConsultar.jComboBox2.getSelectedIndex()) {
            case 0:
                indiceColumnaTabla = 1;
                break;//por nombre
            case 1:
                indiceColumnaTabla = 0;
                break;//por cedula
            case 2:
                indiceColumnaTabla = 2;
                break;//por materia

            case 3:
                indiceColumnaTabla = 3;
                break;//por nivel
            case 4:
                indiceColumnaTabla = 5;
                break;//por tipo

        }
        try {
            rf = RowFilter.regexFilter("(?i)" + profesorConsultar.jTextField1.getText(), indiceColumnaTabla);
        } catch (java.util.regex.PatternSyntaxException e) {
        }
        sorter.setRowFilter(rf);
    }

    public void filtrarEnHorario(String nivel) {

        if (nivel.equals("7")) {
            HorarioInsertar1 hi1 = (HorarioInsertar1) interfaz.getHorarioInsertar().setimo.getComponentAt(interfaz.getHorarioInsertar().setimo.getSelectedIndex());
            RowFilter<TableModel, Object> rf = null;
            int indiceColumnaTabla = 2;
            switch (hi1.jComboBox1.getSelectedIndex()) {
                case 0:
                    indiceColumnaTabla = 0;
                    break;//por nombre
                case 1:
                    indiceColumnaTabla = 1;
                    break;//por materia
            }
            try {
                rf = RowFilter.regexFilter("(?i)" + hi1.jTextField1.getText(), indiceColumnaTabla);
            } catch (java.util.regex.PatternSyntaxException e) {
            }
            sorter.setRowFilter(rf);

        } else if (nivel.equals("8")) {
            HorarioInsertar1 hi1 = (HorarioInsertar1) interfaz.getHorarioInsertar().octavo.getComponentAt(interfaz.getHorarioInsertar().octavo.getSelectedIndex());
            RowFilter<TableModel, Object> rf = null;
            int indiceColumnaTabla = 2;
            switch (hi1.jComboBox1.getSelectedIndex()) {
                case 0:
                    indiceColumnaTabla = 0;
                    break;//por nombre
                case 1:
                    indiceColumnaTabla = 1;
                    break;//por materia
            }
            try {
                rf = RowFilter.regexFilter("(?i)" + hi1.jTextField1.getText(), indiceColumnaTabla);
            } catch (java.util.regex.PatternSyntaxException e) {
            }
            sorter.setRowFilter(rf);
        } else if (nivel.equals("9")) {
            HorarioInsertar1 hi1 = (HorarioInsertar1) interfaz.getHorarioInsertar().noveno.getComponentAt(interfaz.getHorarioInsertar().noveno.getSelectedIndex());
            RowFilter<TableModel, Object> rf = null;
            int indiceColumnaTabla = 2;
            switch (hi1.jComboBox1.getSelectedIndex()) {
                case 0:
                    indiceColumnaTabla = 0;
                    break;//por nombre
                case 1:
                    indiceColumnaTabla = 1;
                    break;//por materia
            }
            try {
                rf = RowFilter.regexFilter("(?i)" + hi1.jTextField1.getText(), indiceColumnaTabla);
            } catch (java.util.regex.PatternSyntaxException e) {
            }
            sorter.setRowFilter(rf);
        } else if (nivel.equals("10")) {
            HorarioInsertar1 hi1 = (HorarioInsertar1) interfaz.getHorarioInsertar().decimo.getComponentAt(interfaz.getHorarioInsertar().decimo.getSelectedIndex());
            RowFilter<TableModel, Object> rf = null;
            int indiceColumnaTabla = 2;
            switch (hi1.jComboBox1.getSelectedIndex()) {
                case 0:
                    indiceColumnaTabla = 0;
                    break;//por nombre
                case 1:
                    indiceColumnaTabla = 1;
                    break;//por materia
            }
            try {
                rf = RowFilter.regexFilter("(?i)" + hi1.jTextField1.getText(), indiceColumnaTabla);
            } catch (java.util.regex.PatternSyntaxException e) {
            }
            sorter.setRowFilter(rf);
        } else if (nivel.equals("11")) {
            HorarioInsertar1 hi1 = (HorarioInsertar1) interfaz.getHorarioInsertar().undecimo.getComponentAt(interfaz.getHorarioInsertar().undecimo.getSelectedIndex());
            RowFilter<TableModel, Object> rf = null;
            int indiceColumnaTabla = 2;
            switch (hi1.jComboBox1.getSelectedIndex()) {
                case 0:
                    indiceColumnaTabla = 0;
                    break;//por nombre
                case 1:
                    indiceColumnaTabla = 1;
                    break;//por materia
            }
            try {
                rf = RowFilter.regexFilter("(?i)" + hi1.jTextField1.getText(), indiceColumnaTabla);
            } catch (java.util.regex.PatternSyntaxException e) {
            }
            sorter.setRowFilter(rf);
        }
    }

    public void filtrarAula() {
        RowFilter<TableModel, Object> rf = null;
        int indiceColumnaTabla = 2;
        switch (aulaConsultar.jComboBox1.getSelectedIndex()) {
            case 0:
                indiceColumnaTabla = 0;
                break;//por codigo
            case 1:
                indiceColumnaTabla = 4;
                break;//por seccion
            case 2:
                indiceColumnaTabla = 3;
                break;//por profe

            case 3:
                indiceColumnaTabla = 1;
                break;//por dia

        }
        try {
            rf = RowFilter.regexFilter("(?i)" + aulaConsultar.jTextField1.getText(), indiceColumnaTabla);
        } catch (java.util.regex.PatternSyntaxException e) {
        }
        sorter.setRowFilter(rf);
    }

    public void init() {

        this.setVisible(true);
    }

    public void reset() {
        profesorAsignar.jSpinner1.setValue(0);
        profesorAsignar.jList1.clearSelection();
        profesorInsertar.jList1.clearSelection();
        aulaInsertar.jTextField1.setText("");
        aulaInsertar.jTextArea1.setText("");
        aulaInsertar.jLabel2.setText("Código:");
        aulaInsertar.jLabel2.setForeground(Color.BLACK);
        grupoInsertar.jSpinner1.setValue(1);
        loggin.jTextField1.setText("");
        loggin.jPasswordField1.setText("");
        materiaInsertar.jTextField1.setText("");
        materiaInsertar.jSpinner1.setValue(0);
        profesorInsertar.jTextField1.setText("");
        profesorInsertar.jTextField2.setText("");
        profesorInsertar.jTextField3.setText("");
        profesorInsertar.jTextField4.setText("");
        profesorInsertar.jTextField5.setText("");
        profesorInsertar.jTextField6.setText("");
        profesorInsertar.jCheckBox1.setSelected(false);
        profesorInsertar.jTextArea1.setText("");
        profesorInsertar.jLabel2.setText("Cédula: ");
        profesorInsertar.jLabel2.setForeground(Color.BLACK);
        profesorInsertar.jLabel3.setText("Nombre: ");
        profesorInsertar.jLabel3.setForeground(Color.BLACK);
        profesorInsertar.jLabel4.setText("Primer Apellido: ");
        profesorInsertar.jLabel4.setForeground(Color.BLACK);
        profesorInsertar.jLabel5.setText("Segundo Apellido: ");
        profesorInsertar.jLabel5.setForeground(Color.BLACK);
        profesorInsertar.jLabel7.setText("Teléfono: ");
        profesorInsertar.jLabel7.setForeground(Color.BLACK);
        profesorModificar.jLabel2.setText("Cédula: ");
        profesorModificar.jLabel2.setForeground(Color.BLACK);
        profesorModificar.jLabel3.setText("Nombre: ");
        profesorModificar.jLabel3.setForeground(Color.BLACK);
        profesorModificar.jLabel7.setText("Teléfono: ");
        profesorModificar.jLabel7.setForeground(Color.BLACK);
        usuarioInsertar.jPasswordField1.setText(null);
        usuarioInsertar.jPasswordField2.setText(null);
        usuarioInsertar.jTextField1.setText("");
    }

    public AulaConsultar getAulaConsultar() {
        return aulaConsultar;
    }

    public void setAulaConsultar(AulaConsultar aulaConsultar) {
        this.aulaConsultar = aulaConsultar;
    }

    public AulaInsertar getAulaInsertar() {
        return aulaInsertar;
    }

    public void setAulaInsertar(AulaInsertar aulaInsertar) {
        this.aulaInsertar = aulaInsertar;
    }

    public AulaModificar getAulaModificar() {
        return aulaModificar;
    }

    public void setAulaModificar(AulaModificar aulaModificar) {
        this.aulaModificar = aulaModificar;
    }

    public GrupoConsultar getGrupoConsultar() {
        return grupoConsultar;
    }

    public void setGrupoConsultar(GrupoConsultar grupoConsultar) {
        this.grupoConsultar = grupoConsultar;
    }

    public GrupoInsertar getGrupoInsertar() {
        return grupoInsertar;
    }

    public void setGrupoInsertar(GrupoInsertar grupoInsertar) {
        this.grupoInsertar = grupoInsertar;
    }

    public GrupoModificar getGrupoModificar() {
        return grupoModificar;
    }

    public void setGrupoModificar(GrupoModificar grupoModificar) {
        this.grupoModificar = grupoModificar;
    }

    public HorarioAlternoConsultar getHorarioAlternoConsultar() {
        return horarioAlternoConsultar;
    }

    public void setHorarioAlternoConsultar(HorarioAlternoConsultar horarioAlternoConsultar) {
        this.horarioAlternoConsultar = horarioAlternoConsultar;
    }

    public HorarioAlternoInsertar getHorarioAlternoInsertar() {
        return this.horarioAlternoInsertar;
    }

    public void setHorarioAlternoInsertar(HorarioAlternoInsertar horarioAlternoInsertar) {
        this.horarioAlternoInsertar = horarioAlternoInsertar;
    }

    public HorarioAlternoModificar getHorarioAlternoModificar() {
        return horarioAlternoModificar;
    }

    public void setHorarioAlternoModificar(HorarioAlternoModificar horarioAlternoModificar) {
        this.horarioAlternoModificar = horarioAlternoModificar;
    }

    public HorarioConsultar getHorarioConsultar() {
        return horarioConsultar;
    }

    public void setHorarioConsultar(HorarioConsultar horarioConsultar) {
        this.horarioConsultar = horarioConsultar;
    }

//    public HorarioInsertar1 getHorarioInsertar() {
//        return horarioInsertar;
//    }
//
//    public void setHorarioInsertar(HorarioInsertar1 horarioInsertar) {
//        this.horarioInsertar = horarioInsertar;
//    }
//    
    public HorarioInsertar getHorarioInsertar() {
        return horarioInsertar;
    }

    public void setHorarioInsertar(HorarioInsertar horarioInsertar) {
        this.horarioInsertar = horarioInsertar;
    }

    public HorarioModificar getHorarioModificar() {
        return horarioModificar;
    }

    public void setHorarioModificar(HorarioModificar horarioModificar) {
        this.horarioModificar = horarioModificar;
    }

    public Loggin getLoggin() {
        return loggin;
    }

    public void setLoggin(Loggin loggin) {
        this.loggin = loggin;
    }

    public MateriaConsultar getMateriaConsultar() {
        return materiaConsultar;
    }

    public void setMateriaConsultar(MateriaConsultar materiaConsultar) {
        this.materiaConsultar = materiaConsultar;
    }

    public MateriaInsertar getMateriaInsertar() {
        return materiaInsertar;
    }

    public void setMateriaInsertar(MateriaInsertar materiaInsertar) {
        this.materiaInsertar = materiaInsertar;
    }

    public MateriaModificar getMateriaModificar() {
        return materiaModificar;
    }

    public void setMateriaModificar(MateriaModificar materiaModificar) {
        this.materiaModificar = materiaModificar;
    }

    public NivelConsultar getNivelConsultar() {
        return nivelConsultar;
    }

    public void setNivelConsultar(NivelConsultar nivelConsultar) {
        this.nivelConsultar = nivelConsultar;
    }

    public Principal getPrincipal() {
        return principal;
    }

    public void setPrincipal(Principal principal) {
        this.principal = principal;
    }

    public PrincipalConsultar getPrincipalConsultar() {
        return principalConsultar;
    }

    public void setPrincipalConsultar(PrincipalConsultar principalConsultar) {
        this.principalConsultar = principalConsultar;
    }

    public PrincipalInsertar getPrincipalInsertar() {
        return principalInsertar;
    }

    public void setPrincipalInsertar(PrincipalInsertar principalInsertar) {
        this.principalInsertar = principalInsertar;
    }

    public ProfesorConsultar getProfesorConsultar() {
        return profesorConsultar;
    }

    public void setProfesorConsultar(ProfesorConsultar profesorConsultar) {
        this.profesorConsultar = profesorConsultar;
    }

    public ProfesorInsertar getProfesorInsertar() {
        return profesorInsertar;
    }

    public void setProfesorInsertar(ProfesorInsertar profesorInsertar) {
        this.profesorInsertar = profesorInsertar;
    }

    public ProfesorModificar getProfeosorModificar() {
        return profesorModificar;
    }

    public void setProfeosorModificar(ProfesorModificar profeosorModificar) {
        this.profesorModificar = profeosorModificar;
    }

    public UsuarioConsultar getUsuarioConsultar() {
        return usuarioConsultar;
    }

    public void setUsuarioConsultar(UsuarioConsultar usuarioConsultar) {
        this.usuarioConsultar = usuarioConsultar;
    }

    public UsuarioInsertar getUsuarioInsertar() {
        return usuarioInsertar;
    }

    public void setUsuarioInsertar(UsuarioInsertar usuarioInsertar) {
        this.usuarioInsertar = usuarioInsertar;
    }

    public UsuarioModificar getUsuarioModificar() {
        return usuarioModificar;
    }

    public void setUsuarioModificar(UsuarioModificar usuarioModificar) {
        this.usuarioModificar = usuarioModificar;
    }

    public Interfaz getInterfaz() {
        return interfaz;
    }

    public void setInterfaz(Interfaz interfaz) {
        this.interfaz = interfaz;
    }

    public Usuario getUsuarioActual() {
        return usuarioActual;
    }

    public void setUsuarioActual(Usuario usuarioActual) {
        this.usuarioActual = usuarioActual;
        autorizado = usuarioActual.getPrioridad();
    }

    public ProfesorAsignar getProfesorAsignar() {
        return profesorAsignar;
    }

    public void setProfesorAsignar(ProfesorAsignar profesorAsignar) {
        this.profesorAsignar = profesorAsignar;
    }

    public HorarioInsertar1 getHorarioInsertar1() {
        return horarioInsertar1;
    }

    public void setHorarioInsertar1(HorarioInsertar1 horarioInsertar1) {
        this.horarioInsertar1 = horarioInsertar1;
    }

}
